home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.3 Development Libraries / SGI IRIX 6.3 Development Libraries.iso / dist6.3 / gl_dev.idb / usr / include / gl / ansicode.h.z / ansicode.h
Encoding:
C/C++ Source or Header  |  1996-12-06  |  8.1 KB  |  243 lines

  1. /*
  2.  * ansicode.h
  3.  *    - Contains defines for ANSI command codes as described in
  4.  *      ANSI X3.64-1979.
  5.  *    - Not complete.
  6.  *    - There are defines for DEC and SGI extensions.
  7.  */
  8.  
  9. /*
  10.  * This define allows the coding of commands to be done similarly to the
  11.  * `col/row' notation used throughout X3.64.
  12.  */
  13. #define    ansicode(col,row)        (((col)<<4) | (row))
  14.  
  15. /*
  16.  * ANSI characters
  17.  */
  18.  
  19. #define ESC        ansicode(1,11)
  20. #define NUL        ansicode(0,0)
  21. #define BEL        ansicode(0,7)
  22. #define DEL        ansicode(7,15)
  23.  
  24. /*
  25.  * 8-bit versions
  26.  */
  27. #define IND        ansicode(8,4)
  28. #define NEL        ansicode(8,5)
  29. #define RI        ansicode(8,13)
  30. #define CSI        ansicode(9,11)
  31. #define DCS        ansicode(9,0)
  32. #define ST        ansicode(9,12)
  33.  
  34. /*
  35.  * 7-bit, 2 character versions (lead-in is ESC)
  36.  */
  37. #define IND_2        (IND-ansicode(4,0)) /* ASCII D */
  38. #define NEL_2        (NEL-ansicode(4,0)) /* ASCII E */
  39. #define RI_2        (RI-ansicode(4,0))  /* ASCII M */
  40. #define CSI_2        (CSI-ansicode(4,0)) /* ASCII [ */
  41. #define DCS_2        (DCS-ansicode(4,0)) /* ASCII P */
  42. #define ST_2        (ST-ansicode(4,0))  /* ASCII \ */
  43. #define RIS_2        ansicode(6,3)        /* ASCII c */
  44.  
  45.  
  46. /*
  47.  * lead-ins for private parameters
  48.  */
  49. #define DECPARAM    ansicode(3,15)        /* ASCII ? */
  50. #define SGICPARAM    ansicode(3,13)        /* ASCII = */
  51. #define SGISPARAM    ansicode(3,14)        /* ASCII > */
  52.  
  53.  
  54.  
  55. /*
  56.  * ANSI commands with CSI lead-in
  57.  */
  58.  
  59. #define ICH        ansicode(4,0)        /* ASCII @ */
  60. #define CUU        ansicode(4,1)        /* ASCII A */
  61. #define CUD        ansicode(4,2)        /* ASCII B */
  62. #define CUF        ansicode(4,3)        /* ASCII C */
  63. #define CUB        ansicode(4,4)        /* ASCII D */
  64. #define CNL        ansicode(4,5)        /* ASCII E */
  65. #define CPL        ansicode(4,6)        /* ASCII F */
  66. #define CHA        ansicode(4,7)        /* ASCII G */
  67. #define CUP        ansicode(4,8)        /* ASCII H */
  68. #define CHT        ansicode(4,9)        /* ASCII I */
  69. #define ED        ansicode(4,10)        /* ASCII J */
  70. #define EL        ansicode(4,11)        /* ASCII K */
  71. #define IL        ansicode(4,12)        /* ASCII L */
  72. #define DL        ansicode(4,13)        /* ASCII M */
  73. #define EF        ansicode(4,14)        /* ASCII N */
  74. #define EA        ansicode(4,15)        /* ASCII O */
  75. #define DCH        ansicode(5,0)        /* ASCII P */
  76. #define CPR        ansicode(5,1)        /* ASCII Q */
  77. #define SEE        ansicode(5,2)        /* ASCII R */
  78. #define SU        ansicode(5,3)        /* ASCII S */
  79. #define SD        ansicode(5,4)        /* ASCII T */
  80. #define NP        ansicode(5,5)        /* ASCII U */
  81. #define PP        ansicode(5,5)        /* ASCII V */
  82. #define CTC        ansicode(5,6)        /* ASCII W */
  83. #define ECH        ansicode(5,7)        /* ASCII X */
  84. #define CVT        ansicode(5,8)        /* ASCII Y */
  85. #define CBT        ansicode(5,9)        /* ASCII Z */
  86. #define HPA        ansicode(6,0)        /* ASCII ` */
  87. #define HPR        ansicode(6,1)        /* ASCII a */
  88. #define REP        ansicode(6,2)        /* ASCII b */
  89. #define DA        ansicode(6,3)        /* ASCII c */
  90. #define VPA        ansicode(6,4)        /* ASCII d */
  91. #define VPR        ansicode(6,5)        /* ASCII e */
  92. #define HVP        ansicode(6,6)        /* ASCII f */
  93. #define TBC        ansicode(6,7)        /* ASCII g */
  94. #define SM        ansicode(6,8)        /* ASCII h */
  95. #define MC        ansicode(6,9)        /* ASCII i */
  96. #define HPB        ansicode(6,10)        /* ASCII j */
  97. #define VPB        ansicode(6,11)        /* ASCII k */
  98. #define RM        ansicode(6,12)        /* ASCII l */
  99. #define SGR        ansicode(6,13)        /* ASCII m */
  100. #define DSR        ansicode(6,14)        /* ASCII n */
  101. #define DAQ        ansicode(6,15)        /* ASCII o */
  102.  
  103.  
  104. /*
  105.  * DEC commands with ESC lead-in
  106.  */
  107.  
  108. #define DECSC        ansicode(3,7)        /* ASCII 7 */
  109. #define DECRC        ansicode(3,8)        /* ASCII 8 */
  110. #define DECKPAM        ansicode(3,13)        /* ASCII = */
  111. #define DECKPNM        ansicode(3,14)        /* ASCII > */
  112.  
  113.  
  114. /*
  115.  * DEC commands with CSI lead-in
  116.  */
  117. #define DECSTBM        ansicode(7,2)        /* ASCII r */
  118.  
  119. /*
  120.  * IBM commands with CSI lead-in
  121.  */
  122. #define IBMFKEY        ansicode(7,1)        /* ASCII q */
  123.  
  124. /*
  125.  * SGI commands with CSI lead-in
  126.  */
  127. #define SGIFINAL    ansicode(7,9)        /* ASCII y */
  128. #define SGICINTERM    ansicode(2,15)        /* ASCII / */
  129. #define SGISINTERM    ansicode(2,14)        /* ASCII . */
  130.  
  131. #define SGIPI        DA    /* parameter inquiry (same as DA, but
  132.                  * parameters are of type SGIPARAM) */
  133.  
  134. /*
  135.  * ANSI standard mode parameter values
  136.  */
  137. #define KAM        2    /* keyboard action mode (lock/unlock) (LED) */
  138. #define CRM        3    /* control representation mode (monitor md) */
  139. #define IRM        4    /* insertion/replacement mode */
  140. #define SRM        12    /* send/receive mode (local mode) (LED) */
  141.  
  142.  
  143. /*
  144.  * DEC VT100 mode parameter values
  145.  */
  146. #define DECCKM        1    /* applic cursor key mode enabled */
  147. #define DECAWN        7    /* wrap long lines enable/disable */
  148. #define DECTCEM        25    /* text cursor on/off */
  149.  
  150.  
  151. /*
  152.  * SGI parameter values
  153.  */
  154.  
  155. /* modes */
  156. #define SGISBEL        1    /* send BEL character enable/disable */
  157. #define SGIPAGN        2    /* pagination enable/disable */
  158. #define SGICBNK        3    /* text cursor blink enable/disable */
  159. #define SGITXPT        4    /* textport on/off */
  160. #define SGIHOLD        5    /* hold textport after child exits  */
  161. #define SGISLCK        6    /* if not in fixed terminal size mode, lock
  162.                  * window size */
  163. #define SGIALTK        7    /* alternate keypad mode (same as
  164.                  * DECKPAM/DECKPNM) */
  165. #define SGIRGBM        8    /* RGB mode (inquiry only) */
  166. #define SGIVBEL        9    /* visible bell on/off */
  167. #define SGILOGF        10    /* logfile on/off */
  168. #define SGIFIXT        11    /* fixed terminal size mode on/off */
  169. #define SGIMOEN        98    /* mouse click enable/disable */
  170. #define SGIMKEN        99    /* meta key enable/disable */
  171.  
  172. /* commands */
  173. #define SGIRPAG        1    /* reset pagination line count */
  174. #define SGITXIN        2    /* textinit() */
  175. #define SGIPUSW        3    /* push window */
  176. #define SGIPOPW        4    /* pop window */
  177. #define SGIATTW        5    /* attach window */
  178. #define SGISELW        6    /* select window */
  179. #define SGIREPW        7    /* repaint window */
  180. #define SGIREFD        8    /* reread font directory */
  181. #define SGIOPCP        9    /* overwrite pushed cursor position */
  182. #define SGIPAO        10    /* push attributes once */
  183. #define SGIPSHA        11    /* push attributes */
  184. #define SGIPOPA        12    /* pop attributes */
  185.  
  186. /* set attribute values */
  187. #define SGITCI        101    /* set text color index */
  188. #define SGIBCI        102    /* set background color index */
  189. #define SGIHCI        103    /* set highlight color index */
  190. #define SGICCI        104    /* set connected cursor color index */
  191. #define SGIDCI        105    /* set disconnected cursor color index */
  192. #define SGIFWM        106    /* set foreground writemask */
  193. #define SGIBWM        107    /* set background writemask */
  194. #define SGIBNKR        108    /* set blink rate <int> tenths of frames/sec */
  195. #define SGIKMAP        109    /* set key map type */
  196. #define SGIHMOV        110    /* set how window moves on set size */
  197.     /* argument values: */
  198. #define        SGIHMOV_CENTER  0    /* pin center */
  199. #define        SGIHMOV_PIN_LL  1    /* pin lower-left corner */
  200. #define        SGIHMOV_PIN_LR  2    /* pin lower-right corner */
  201. #define        SGIHMOV_PIN_UR  3    /* pin upper-right corner */
  202. #define        SGIHMOV_PIN_UL  4    /* pin upper-left corner */
  203. #define SGITEA        196    /* set tell size action */
  204. #define SGIMKEY        197    /* set meta key */
  205. #define SGIMKA        198    /* set meta key action */
  206. #define SGIMOA        199    /* set mouse click action */
  207.  
  208. #define SGIMSZC        201    /* maximum textport size (cols, rows) */
  209. #define SGIMSZP        202    /* maximum textport size (in pixels) */
  210. #define SGIWSZC        203    /* set window on textport size (cols, rows) */
  211. #define SGIWSZP        204    /* set window on textport size (in pixels) */
  212. #define SGIPOS        205    /* set textport position (pixels) */
  213. #define SGIISZC        206    /* initial window size inq (cols, rows) */
  214. #define SGIISZP        207    /* initial window size inq (in pixels) */
  215. #define SGIIPOS        208    /* initial textport position inq (pixels) */
  216. #define SGIMINC        209    /* set minimum legal term size (cols, rows) */
  217. #define SGIMINP        210    /* set minimum legal term size (pixels) */
  218. #define SGITSZC        211    /* terminal size (cols, rows) */
  219. #define SGITSZP        212    /* terminal size (in pixels) */
  220.  
  221. #define SGITRGB     301    /* set text RGB */
  222. #define SGIBRGB     302    /* set background RGB */
  223. #define SGIHRGB     303    /* set highlight RGB */
  224. #define SGICRGB     304    /* set connected cursor RGB */
  225. #define SGIDRGB     305    /* set disconnected cursor RGB */
  226. #define SGIFRGB     306    /* set foreground RGB writemask */
  227. #define SGIKRGB     307    /* set background RGB writemask */
  228.  
  229. #define SGIMCLK        501    /* mouse click paramter value */
  230.  
  231. /* set strings */
  232. #define SGITITL     1    /* set title */
  233. #define SGISLOG     2    /* set logfile name */
  234. #define SGIKEYB        101    /* set binding of function key <int> */
  235. #define SGIFNTB        102    /* bind font in file <file> to font <int>*/
  236.  
  237.  
  238.  
  239. #define MAXCSIPARAMS    10    /* maximum number of parameters
  240.                  * a CSI can have.  NB. SM and RM can have
  241.                  * many parameters */
  242.  
  243.